<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="adexchangebuyer_v1_4.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_4.products.html">products</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(productId)</a></code></p>
<p class="firstline">Gets the requested product by id.</p>
<p class="toc_element">
  <code><a href="#search">search(pqlQuery=None)</a></code></p>
<p class="firstline">Gets the requested product.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(productId)</code>
  <pre>Gets the requested product by id.

Args:
  productId: string, The id for the product to get the head revision for. (required)

Returns:
  An object of the form:

    { # A product is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in a product can have one of the following setting:
      #
      # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.
    "creatorContacts": [ # Optional contact information for the creator of this product. (buyer-readonly)
      {
        "email": "A String", # Email address of the contact.
        "name": "A String", # The name of the contact.
      },
    ],
    "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product".
    "sharedTargetings": [ # Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)
      {
        "inclusions": [ # The list of value to include as part of the targeting.
          {
            "longValue": "A String", # The long value to exclude/include.
            "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
              "dayParts": [
                {
                  "dayOfWeek": "A String",
                  "endHour": 42,
                  "startMinute": 42,
                  "endMinute": 42,
                  "startHour": 42,
                },
              ],
              "timeZoneType": "A String",
            },
            "creativeSizeValue": { # The creative size value to exclude/include.
              "creativeSizeType": "A String", # The Creative size type.
              "companionSizes": [ # For video size type, the list of companion sizes.
                {
                  "width": 42, # The width of the creative.
                  "height": 42, # The height of the creative.
                },
              ],
              "size": { # For regular or video creative size type, specifies the size of the creative.
                "width": 42, # The width of the creative.
                "height": 42, # The height of the creative.
              },
            },
            "stringValue": "A String", # The string value to exclude/include.
          },
        ],
        "exclusions": [ # The list of values to exclude from targeting.
          {
            "longValue": "A String", # The long value to exclude/include.
            "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
              "dayParts": [
                {
                  "dayOfWeek": "A String",
                  "endHour": 42,
                  "startMinute": 42,
                  "endMinute": 42,
                  "startHour": 42,
                },
              ],
              "timeZoneType": "A String",
            },
            "creativeSizeValue": { # The creative size value to exclude/include.
              "creativeSizeType": "A String", # The Creative size type.
              "companionSizes": [ # For video size type, the list of companion sizes.
                {
                  "width": 42, # The width of the creative.
                  "height": 42, # The height of the creative.
                },
              ],
              "size": { # For regular or video creative size type, specifies the size of the creative.
                "width": 42, # The width of the creative.
                "height": 42, # The height of the creative.
              },
            },
            "stringValue": "A String", # The string value to exclude/include.
          },
        ],
        "key": "A String", # The key representing the shared targeting criterion.
      },
    ],
    "terms": { # The negotiable terms of the deal (buyer-readonly)
      "brandingType": "A String", # Visibilty of the URL in bid requests.
      "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
        "pricingType": "A String", # The pricing type for the deal/product.
        "currencyCode": "A String", # The currency code for the price.
        "amountMicros": 3.14, # The price value in micros.
      },
      "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
      "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
        "fixedPrices": [ # Fixed price for the specified buyer.
          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
            "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
              "accountId": "A String", # Adx account id of the buyer.
            },
            "price": { # The specified price
              "pricingType": "A String", # The pricing type for the deal/product.
              "currencyCode": "A String", # The currency code for the price.
              "amountMicros": 3.14, # The price value in micros.
            },
          },
        ],
      },
      "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
        "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
        "fixedPrices": [ # Fixed price for the specified buyer.
          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
            "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
              "accountId": "A String", # Adx account id of the buyer.
            },
            "price": { # The specified price
              "pricingType": "A String", # The pricing type for the deal/product.
              "currencyCode": "A String", # The currency code for the price.
              "amountMicros": 3.14, # The price value in micros.
            },
          },
        ],
        "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
      },
      "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
        "reservePricePerBuyers": [ # Reserve price for the specified buyer.
          { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
            "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
              "accountId": "A String", # Adx account id of the buyer.
            },
            "price": { # The specified price
              "pricingType": "A String", # The pricing type for the deal/product.
              "currencyCode": "A String", # The currency code for the price.
              "amountMicros": 3.14, # The price value in micros.
            },
          },
        ],
        "privateAuctionId": "A String", # Id of the corresponding private auction.
      },
      "description": "A String", # Description for the proposed terms of the deal.
    },
    "name": "A String", # The name for this product as set by the seller. (buyer-readonly)
    "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
    "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly)
    "labels": [ # Optional List of labels for the product (optional, buyer-readonly).
      {
        "createTimeMs": "A String", # The creation time (in ms since epoch) for the label.
        "deprecatedMarketplaceDealParty": { # Information about the party that created the label.
          "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party.
            "accountId": "A String", # Adx account id of the buyer.
          },
          "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party.
            "subAccountId": "A String", # Optional sub-account id for the seller.
            "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.
          },
        },
        "label": "A String", # The label to use.
        "accountId": "A String", # The accountId of the party that created the label.
      },
    ],
    "seller": { # Information about the seller that created this product (readonly, except on create)
      "subAccountId": "A String", # Optional sub-account id for the seller.
      "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.
    },
    "webPropertyCode": "A String",
    "state": "A String", # The state of the product. (buyer-readonly)
    "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.
    "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create).
    "flightStartTimeMs": "A String", # Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)
    "creationTimeMs": "A String", # Creation time in ms. since epoch (readonly)
    "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly)
    "revisionNumber": "A String", # The revision number of the product. (readonly)
    "productId": "A String", # The unique id for the product (readonly)
  }</pre>
</div>

<div class="method">
    <code class="details" id="search">search(pqlQuery=None)</code>
  <pre>Gets the requested product.

Args:
  pqlQuery: string, The pql query used to query for products.

Returns:
  An object of the form:

    {
    "products": [ # The returned list of products.
      { # A product is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in a product can have one of the following setting:
          #
          # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.
        "creatorContacts": [ # Optional contact information for the creator of this product. (buyer-readonly)
          {
            "email": "A String", # Email address of the contact.
            "name": "A String", # The name of the contact.
          },
        ],
        "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product".
        "sharedTargetings": [ # Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)
          {
            "inclusions": [ # The list of value to include as part of the targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular or video creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "exclusions": [ # The list of values to exclude from targeting.
              {
                "longValue": "A String", # The long value to exclude/include.
                "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
                  "dayParts": [
                    {
                      "dayOfWeek": "A String",
                      "endHour": 42,
                      "startMinute": 42,
                      "endMinute": 42,
                      "startHour": 42,
                    },
                  ],
                  "timeZoneType": "A String",
                },
                "creativeSizeValue": { # The creative size value to exclude/include.
                  "creativeSizeType": "A String", # The Creative size type.
                  "companionSizes": [ # For video size type, the list of companion sizes.
                    {
                      "width": 42, # The width of the creative.
                      "height": 42, # The height of the creative.
                    },
                  ],
                  "size": { # For regular or video creative size type, specifies the size of the creative.
                    "width": 42, # The width of the creative.
                    "height": 42, # The height of the creative.
                  },
                },
                "stringValue": "A String", # The string value to exclude/include.
              },
            ],
            "key": "A String", # The key representing the shared targeting criterion.
          },
        ],
        "terms": { # The negotiable terms of the deal (buyer-readonly)
          "brandingType": "A String", # Visibilty of the URL in bid requests.
          "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
            "pricingType": "A String", # The pricing type for the deal/product.
            "currencyCode": "A String", # The currency code for the price.
            "amountMicros": 3.14, # The price value in micros.
          },
          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller.
          "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "pricingType": "A String", # The pricing type for the deal/product.
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The price value in micros.
                },
              },
            ],
          },
          "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals.
            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
            "fixedPrices": [ # Fixed price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "pricingType": "A String", # The pricing type for the deal/product.
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The price value in micros.
                },
              },
            ],
            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
          },
          "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals.
            "reservePricePerBuyers": [ # Reserve price for the specified buyer.
              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.
                "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer).
                  "accountId": "A String", # Adx account id of the buyer.
                },
                "price": { # The specified price
                  "pricingType": "A String", # The pricing type for the deal/product.
                  "currencyCode": "A String", # The currency code for the price.
                  "amountMicros": 3.14, # The price value in micros.
                },
              },
            ],
            "privateAuctionId": "A String", # Id of the corresponding private auction.
          },
          "description": "A String", # Description for the proposed terms of the deal.
        },
        "name": "A String", # The name for this product as set by the seller. (buyer-readonly)
        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
        "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly)
        "labels": [ # Optional List of labels for the product (optional, buyer-readonly).
          {
            "createTimeMs": "A String", # The creation time (in ms since epoch) for the label.
            "deprecatedMarketplaceDealParty": { # Information about the party that created the label.
              "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party.
                "accountId": "A String", # Adx account id of the buyer.
              },
              "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party.
                "subAccountId": "A String", # Optional sub-account id for the seller.
                "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.
              },
            },
            "label": "A String", # The label to use.
            "accountId": "A String", # The accountId of the party that created the label.
          },
        ],
        "seller": { # Information about the seller that created this product (readonly, except on create)
          "subAccountId": "A String", # Optional sub-account id for the seller.
          "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.
        },
        "webPropertyCode": "A String",
        "state": "A String", # The state of the product. (buyer-readonly)
        "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.
        "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create).
        "flightStartTimeMs": "A String", # Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)
        "creationTimeMs": "A String", # Creation time in ms. since epoch (readonly)
        "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly)
        "revisionNumber": "A String", # The revision number of the product. (readonly)
        "productId": "A String", # The unique id for the product (readonly)
      },
    ],
  }</pre>
</div>

</body></html>